package com.Fh.enum_;

import javax.swing.*;

//展示使用enum来实现枚举
public class enumeration03 {
    public static void main(String[] args) {
        System.out.println(Enum03.SPRING);
        System.out.println(Enum03.SUMMER);
        System.out.println(Enum03.AUTUMN);
        System.out.println(Enum03.WINTER);

    }
}
//1. 此处将class替换成enum
enum Enum03 {
       //2. 现在将public static final Enum02 SPRING = new Enum02("春天","温暖")替换成SPRING("春天","温暖")-->直接使用常量名（实参列表）形式
        SPRING("春天","温暖"),SUMMER("夏天","炎热"),AUTUMN("秋天","凉爽"),WINTER("冬天","寒冷"),WHAT;//这里的括号可以省略

        //3. 如果使用 enum 来实现枚举，要求将定义常量对象写在前面
        //4. 如果有多个常量，用逗号隔开
        private String name;
        private String description;
        //5. 如果有无参构造器，对于常量变量后的括号可以省略
        private  Enum03(){
            System.out.println("无参构造器被调用");
        }
        //使构造器私有化，无法进行创建对象的操作
        private Enum03(String name,String description) {
            this.name = name;
            this.description = description;
        }
        public String getName() {
            return name;
        }
        public String getDescription() {
            return description;
        }
        //去除set方法，防止信息被修改

        @Override
        public String toString() {
            return "Enum01{" +
                    "description='" + description + '\'' +
                    ", name='" + name + '\'' +
                    '}';
        }
}

